package com.example.d1_inner_class1;

public class Outer {
    private int age = 99;
    public static String a;

    // 成员内部类:正常类拥有的,成员内部类也都可以有
    public class Inner {
        private String name;
        // public static final String schoolName = "小雨"; // JDK 16开始才支持定义静态成员的
        private int age = 88;

        public void test() {
            // 成员内部类中的非静态方法可以访问外部类的所有成员
            System.out.println(age);
            System.out.println(a);

            int age = 66;
            System.out.println(age); // 66
            // 这里的this代表的是当前内部类Inner这个对象
            System.out.println(this.age); // 88
            // 访问外部类的age属性
            System.out.println(Outer.this.age); // 99
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    public void test2() {
        System.out.println(age);
        System.out.println(a);
    }
}
